package com.xltx.qq.constant;

/**
 * @ClassName SinaConstant
 * @Date 2022/11/9 14:49
 * @Author xiaoliutx
 * @Description 新浪微博地址常量
 */
public class QqConstant {

    /**
     * response_type	必须	授权类型，此值固定为“code”。
     * client_id	必须	申请QQ登录成功后，分配给应用的appid。
     * redirect_uri	必须	成功授权后的回调地址，必须是注册appid时填写的主域名下的地址，建议设置为网站首页或网站的用户中心。注意需要将url进行URLEncode。
     * state	必须	client端的状态值。用于第三方应用防止CSRF攻击，成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
     * scope	可选	请求用户授权时向用户显示的可进行授权的列表。可填写的值是API文档中列出的接口，如果要填写多个接口名称，请用逗号隔开。例如：scope=get_user_info,list_album,upload_pic，不传则默认请求对接口get_user_info进行授权。建议控制授权项的数量，只传入必要的接口名称，因为授权项越多，用户越可能拒绝进行任何授权。
     * display	可选	仅PC网站接入时使用。 用于展示的样式。不传则默认展示为PC下的样式，如果传入“mobile”，则展示为mobile端下的样式。
     */
    public static final String AUTHORIZE = "https://graph.qq.com/oauth2.0/authorize?client_id=CLIENT_ID&response_type=code&state=STATE&scope=SCOPE&display=DISPLAY&redirect_uri=REDIRECT_URI";

    /**
     * grant_type	必须	授权类型，在本步骤中，此值为“authorization_code”。
     * client_id	必须	申请QQ登录成功后，分配给网站的appid。
     * client_secret	必须	申请QQ登录成功后，分配给网站的appkey。
     * code	必须	上一步返回的authorization code。 如果用户成功登录并授权，则会跳转到指定的回调地址，并在URL中带上Authorization Code。例如，回调地址为www.qq.com/my.php，则跳转到： http://www.qq.com/my.php?code=520DD95263C1CFEA087******，注意此code会在10分钟内过期。
     * redirect_uri	必须	与上面一步中传入的redirect_uri保持一致。
     * fmt	可选	因历史原因，默认是x-www-form-urlencoded格式，如果填写json，则返回json格式
     * need_openid	可选	need_openid=1，表示同时获取openid。
     */
    public static final String ACCESS_TOKEN = "https://graph.qq.com/oauth2.0/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code&redirect_uri=REDIRECT_URI&code=CODE&fmt=FMT&need_openid=NEED_OPENID";

    /**
     * grant_type	必须	授权类型，在本步骤中，此值为“refresh_token”。
     * client_id	必须	申请QQ登录成功后，分配给网站的appid。
     * client_secret	必须	申请QQ登录成功后，分配给网站的appkey。
     * refresh_token	必须	首次：使用在Step2中获取到的最新的refresh_token。后续：使用刷新后返回的最新refresh_token
     * fmt	可选	因历史原因，默认是x-www-form-urlencoded格式，如果填写json，则返回json格式
     */
    public static final String REFRESH_TOKEN = "https://graph.qq.com/oauth2.0/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=refresh_token&refresh_token=REFRESH_TOKEN&fmt=FMT";

    /**
     * access_token	必须	在Step1中获取到的access token。
     * fmt	可选	因历史原因，默认是jsonpb格式，如果填写json，则返回json格式
     */
    public static final String ACQUIRE_OPEN_ID = "https://graph.qq.com/oauth2.0/me?access_token=ACCESS_TOKEN&fmt=FMT";


    public static final String GET_USER_INFO = "https://graph.qq.com/user/get_user_info?access_token=ACCESS_TOKEN&oauth_consumer_key=APP_ID&openid=OPENID";

}
